from loguru import logger
import sys
from pathlib import Path
from datetime import datetime

# 日志目录
LOG_DIR = Path("logs")
LOG_DIR.mkdir(parents=True, exist_ok=True)

# 移除默认的 Loguru 控制台 Handler
logger.remove()

# 日志格式
LOG_FORMAT = (
    "<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
    "<level>{level: <8}</level> | "
    "<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - "
    "<level>{message}</level>"
)

# 文件输出（生产环境常用）
logger.add(
    LOG_DIR / "app_{time:YYYY-MM-DD}.log",  # 每天一个文件，含时间
    rotation="1 day",  # 日志每天切割
    retention="7 days",  # 保留 7 天
    encoding="utf-8",
    level="DEBUG",
    format=LOG_FORMAT,
    enqueue=True,
    backtrace=True,
    diagnose=True
)
